博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
完成登录功能,用session记住用户名
阅读量:5132 次
发布时间:2019-06-13

本文共 4236 字,大约阅读时间需要 14 分钟。

登录功能完成:

  1. js:设置return
  2. html:设置
    1. form
    2. input
    3. οnclick="return fnLogin()"
  3. py:
    1. @app.route设置methods
    2. GET
    3. POST
      1. 读取表单数据
      2. 查询数据库
        1. 用户名密码对:
          1. 记住用户名
          2. 跳转到首页
        2. 用户名密码不对:
          1. 提示相应错误。

session:

  1. 从`flask`中导入`session`
  2. 设置`SECRET_KEY`
  3. 操作字典一样操作`session`:增加用户名`session['username']=`username
    function myLogin() {        var oUname = document.getElementById("uname");        var oPass = document.getElementById("upass");        var oError = document.getElementById("error_box");        oError.innerHTML = "
    "; if (oUname.value.length < 6 || oUname.value.length > 20) { oError.innerHTML = "用户名为6-20位。"; return false; } else if((oUname.value.charCodeAt(0)>=48)&&(oUname.value.charCodeAt(0)<=57)){ oError.innerHTML="首位不能是数字"; return false; } else for(var i=0;i
    57)&&(oUname.value.charCodeAt(i)<97||oUname.value.charCodeAt(i)>122)){ oError.innerHTML="用户名只能包括字母和数字"; return false; } } if (oPass.value.length < 6 || oPass.value.length > 20) { oError.innerHTML = "密码为6-20位。"; return false; } return true; // window.alert("登录成功!"); }
    {% extends 'base.html'%}{% block title %}登录{% endblock %}{% block head %}    
    {% endblock %}{% block main %}

    登录

    username:
    password:
    {% endblock %}
    from flask import Flask,redirect,request,url_for,sessionfrom flask import render_templatefrom flask_sqlalchemy import SQLAlchemyimport configapp = Flask(__name__)app.config.from_object(config)db=SQLAlchemy(app)class User(db.Model):    __tablename__='user'    id=db.Column(db.Integer,primary_key=True,autoincrement=True)    username=db.Column(db.String(20),nullable=False)    password = db.Column(db.String(20), nullable=False)    nickname=db.Column(db.String(20))# db.create_all()#查询# user=User.query.filter(User.username=='mis1234').first()# print(user.id,user.username,user.password)#增加# user=User(username='mis1234',password='111111',nickname='l')# db.session.add(user)# db.session.commit()#增加# user=User(username='luk',password='123456',nickname='lu')# db.session.add(user)# db.session.commit()# 修改# user=User.query.filter(User.username=='mis1234').first()# user.password='12345678'# db.session.commit()## # 删除# user=User.query.filter(User.username=='mis1234').first()# db.session.delete(user)# db.session.commit()@app.route('/')def base():    return render_template('base.html')@app.route('/login/',methods=['GET','POST'])def login():    if request.method == 'GET':        return render_template('login.html')    else:        usern = request.form.get('username')        passw = request.form.get('password')        user = User.query.filter(User.username == usern).first()        if user:            if user.password==passw:                session['user']=usern                return redirect(url_for('shouye'))            else:                 return '密码错误。'        else:            return  '用户名不存在。'@app.route('/register/',methods=['GET','POST'])def register():    if request.method=='GET':        return render_template('register.html')    else:        usern=request.form.get('username')        nickn = request.form.get('nickname')        passw = request.form.get('password')        user=User.query.filter(User.username==usern).first()        if user:            return '用户名已存在。'        else:            user1=User(username=usern,password=passw,nickname=nickn)            db.session.add(user1)            db.session.commit()            return redirect(url_for('login'))#重定回向登录页面@app.route('/question/')def question():    return render_template('question.html')@app.route('/shouye/')def shouye():    return render_template('shouye.html')if __name__ == '__main__':    app.run(debug=True)
    import osSQLALCHEMY_DATABASE_URI='mysql+pymysql://root:@127.0.0.1:3306/mis_db?charset=utf8'SQLALCHEMY_TRACK_MODIFICATIONS=FalseSECRET_KEY=os.urandom(24)

     

     

转载于:https://www.cnblogs.com/lqx12/p/7879570.html

你可能感兴趣的文章
Linux中pt_regs结构体
查看>>
Ubuntu系统Python3相关环境或模块安装
查看>>
javabean+jsp+servlet+jdbc从软件安装到开发实例
查看>>
结对开发项目--石家庄地铁web版
查看>>
JAVA-初步认识-常用对象API(集合框架-HashSet存储自定义对象)
查看>>
【redis】redis的 key的命名规则
查看>>
PHP:strpos()-返回字符串在另一个字符串中第一次出现的位置
查看>>
Dijkstra算法(三)之 Java详解
查看>>
C#中的Unsafe和Fixed
查看>>
java时间格式转换
查看>>
C++中this指针的用法详解
查看>>
POJ 2492 A Bug's Life
查看>>
MySQL 查询语句中自己定义的中文内容在Java Web 中显示为问号
查看>>
【转】ZooKeeper学习第二期--Zookeeper命令操作
查看>>
JACK——BOM Exercise1
查看>>
linux内核分析 第7章读书笔记——《深入理解计算机系统》
查看>>
Codeforces 576D. Flights for Regular Customers(倍增floyd+bitset)
查看>>
字符串操作
查看>>
项目中报错Cannot read property 'getAttribute' of undefined解决
查看>>
jQuery插件之ajaxFileUpload使用小结
查看>>